package com.nuoniu.sibanyun.entity.finance;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 收付款单明细表
 * </p>
 *
 * @author 小啊刚
 * @since 2021-04-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("fa_receive_payment_detail")
@ApiModel(value="VPaymentDetail对象", description="付款单明细表")
public class VReceivePaymentDetail extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主单据id")
    @TableField("order_id")
    private Integer orderId;

    @ApiModelProperty(value = "公司id")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "账套id")
    @TableField("account_id")
    private Integer accountId;

    @ApiModelProperty(value = "业务日期")
    @TableField("business_date")
    private LocalDateTime businessDate;

    @ApiModelProperty(value = "业务类型（付:1采购付款2预付款3其它付款4资产付款）")
    @TableField("business_type")
    private Integer businessType;

    @ApiModelProperty(value = "结算方式id")
    @TableField("settle_id")
    private Integer settleId;

    @ApiModelProperty(value = "结算方式名称")
    @TableField("settle_name")
    private String settleName;

    @ApiModelProperty(value = "银行账户id")
    @TableField("bank_id")
    private Integer bankId;

    @ApiModelProperty(value = "银行账户")
    @TableField("bank_account")
    private String bankAccount;

    @ApiModelProperty(value = "银行名称")
    @TableField("bank_name")
    private String bankName;

    @ApiModelProperty(value = "实收/实付金额")
    @TableField("amount")
    private BigDecimal amount;

    @ApiModelProperty(value = "应收/应付金额")
    @TableField("should_amount")
    private BigDecimal shouldAmount;

    @ApiModelProperty(value = "现金折扣")
    @TableField("cash_discount")
    private BigDecimal cashDiscount;

    @ApiModelProperty(value = "折扣金额")
    @TableField("discount_amount")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "手续费")
    @TableField("poundage")
    private BigDecimal poundage;

    @ApiModelProperty(value = "来源单id")
    @TableField("source_voucher_id")
    private Integer sourceVoucherId;

    @ApiModelProperty(value = "来源单据")
    @TableField("source_voucher_type")
    private String sourceVoucherType;

    @ApiModelProperty(value = "来源日期")
    @TableField("source_voucher_date")
    private LocalDate sourceVoucherDate;

    @ApiModelProperty(value = "来源单号")
    @TableField("source_voucher_code")
    private String sourceVoucherCode;


}
